package com.aidisp.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import com.aidisp.exception.DefaultException;

public class ExceptionInterceptor implements HandlerInterceptor {

	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		
	}

	@Override
	public void afterCompletion(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		
		if(ex!=null){
			response.setCharacterEncoding("utf-8");
			response.setContentType("text/html; charset=utf-8");
			if(ex instanceof DefaultException){
				DefaultException exception = (DefaultException)ex;
				response.getWriter().println("错误信息:"+exception.getMessage()+",错误代码:"+exception.getErrorCode());
			}else{
				response.getWriter().println("未知错误");
			}
			response.flushBuffer();
		}
		
	}

}
